Solid state storage devices (for example, solid state drives) may be comprised of one or more packages of non-volatile memory dies, where each die is comprised of storage cells, where storage cells are organized into pages and pages are organized into blocks. Each storage cell can store one or more bits of information. A multi-level cell (MLC) NAND representing two bits of information in two pages is programmed to represent two bits of information with four threshold voltage levels, E, P1, P2, and P3. The NAND flash memory is limited to a predetermined number of program/erase (P/E) cycles, and after that limit data retention becomes unreliable. A common metric to express lifetime is Total Bytes Written (TBW).
Data compression can extend the lifetime of NAND storage by improving storage efficiency. With compression, the total number of bytes (i.e. TBW) physically written into the storage is reduced, which reduces TBW and extends the NAND lifetime.
However, data compression techniques providing variations in the data compression ratio, use sophisticated FTL (Flash translation layer) and/or file system support to manage the smaller page and track the size of (or number of sectors of) compressed data.
There is a need in the art for improved techniques for storing compressed data in storage cells of a non-volatile memory storage device.